import App from './App'
import Vue from 'vue'

import '@/utils/interceptor.js';//引入拦截
import store from './store'

// 注册请求方法
import * as api from '@/api/api.js'
Vue.prototype.$api = api

import BASE_URL from '@/api/env.js' //引入接口共用地址
Vue.prototype.$API_BASE_URL= BASE_URL

import config from '@/config/config.js';
Vue.prototype.$systemConfig = config

import commonData from '@/utils/commonData.js'
Vue.prototype.$commonData = commonData

import moment from 'moment'
Vue.prototype.$moment = moment

import paramsCrypto from '@/utils/paramsCrypto'
Vue.use(paramsCrypto)

import * as filters from '@/filters/index'
Object.keys(filters).forEach(key => {
  Vue.filter(key, filters[key])
})


//是否启用调试工具
if(config.vconsole_status){
	const vconsole = require('vconsole')
	Vue.prototype.$vconsole = new vconsole() // 使用vconsole
}

import uView from '@/uni_modules/uview-ui'
Vue.use(uView);

// 调用setConfig方法，方法内部会进行对象属性深度合并，可以放心嵌套配置 需要在Vue.use(uView)之后执行
uni.$u.setConfig({
	// 修改$u.config对象的属性
	config: {
		// 修改默认单位为rpx，相当于执行 uni.$u.config.unit = 'rpx'
		// unit: 'rem'
	},
	// 修改$u.props对象的属性
	props: {
		// 修改radio组件的size参数的默认值，相当于执行 uni.$u.props.radio.size = 30
		radio: {
			size: 15
		}
		// 其他组件属性配置
		// ......
	}
})

Vue.config.productionTip = false
App.mpType = 'app'
const app = new Vue({
	store,
  ...App
})
app.$mount()